home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 18 / AMIGAplus Sonderheft 18 (1999)(ICP)(DE)[!].iso / PD / Spiele / lazymines / lazymines_src / field.h < prev    next >
C/C++ Source or Header  |  1999-01-03  |  2KB  |  120 lines

  1. /*
  2.  * field.h
  3.  * =======
  4.  * Interface to minefield.
  5.  *
  6.  * Copyright (C) 1994-1998 Håkan L. Younes (lorens@hem.passagen.se)
  7.  */
  8.  
  9. #ifndef FIELD_H
  10. #define FIELD_H
  11.  
  12. #include <exec/types.h>
  13. #include <graphics/rastport.h>
  14.  
  15.  
  16. typedef struct field  *field_ptr;
  17.  
  18.  
  19. field_ptr
  20. field_init (
  21.    struct RastPort  *rp,
  22.    WORD              left,
  23.    WORD              top,
  24.    UBYTE             rows,
  25.    UBYTE             columns,
  26.    UWORD             mines);
  27.  
  28. void
  29. field_free (
  30.    field_ptr   field);
  31.  
  32. WORD
  33. field_left (
  34.    field_ptr   field);
  35.  
  36. WORD
  37. field_top (
  38.    field_ptr   field);
  39.  
  40. BOOL
  41. field_size (
  42.    field_ptr   field,
  43.    UBYTE       rows,
  44.    UBYTE       columns,
  45.    UWORD       mines);
  46.  
  47. BOOL
  48. field_inside (
  49.    field_ptr   field,
  50.    WORD        row,
  51.    WORD        column);
  52.  
  53. BOOL
  54. field_reset (
  55.    field_ptr   field);
  56.  
  57. void
  58. field_draw (
  59.    field_ptr   field);
  60.  
  61. void
  62. field_delete (
  63.    field_ptr   field);
  64.  
  65. BOOL
  66. reveal_this (
  67.    field_ptr   field,
  68.    UBYTE       row,
  69.    UBYTE       col);
  70.  
  71. BOOL
  72. sweep_this (
  73.    field_ptr   field,
  74.    UBYTE       row,
  75.    UBYTE       col);
  76.  
  77. void
  78. toggle_lock (
  79.    field_ptr   field,
  80.    UBYTE       row,
  81.    UBYTE       col);
  82.  
  83. void
  84. press_this (
  85.    field_ptr   field,
  86.    UBYTE       row,
  87.    UBYTE       col);
  88.  
  89. void
  90. press_around (
  91.    field_ptr   field,
  92.    UBYTE       row,
  93.    UBYTE       col);
  94.  
  95. void
  96. release_this (
  97.    field_ptr   field,
  98.    UBYTE       row,
  99.    UBYTE       col);
  100.  
  101. void
  102. release_around (
  103.    field_ptr   field,
  104.    UBYTE       row,
  105.    UBYTE       col);
  106.  
  107. BOOL
  108. field_swept (
  109.    field_ptr   field);
  110.  
  111. void
  112. field_win (
  113.    field_ptr   field);
  114.  
  115. void
  116. field_lose (
  117.    field_ptr   field);
  118.  
  119. #endif /* FIELD_H */
  120.